package com.hiultra.archive.service;

import com.hiultra.archive.domain.ArcBox;
import com.hiultra.archive.domain.ArcDossier;
import com.hiultra.common.core.domain.entity.SysUser;

import java.util.List;

/**
 * 卷宗管理Service接口
 * 
 * @author ls
 * @date 2022-07-28
 */
public interface IArcDossierService 
{
    /**
     * 查询卷宗管理
     * 
     * @param dossierId 卷宗管理主键
     * @return 卷宗管理
     */
    public ArcDossier selectArcDossierByDossierId(Long dossierId);

    /**
     * 查询卷宗管理列表
     * 
     * @param arcDossier 卷宗管理
     * @return 卷宗管理集合
     */
    public List<ArcDossier> selectArcDossierList(ArcDossier arcDossier);

    /**
     * 新增卷宗管理
     * 
     * @param arcDossier 卷宗管理
     * @return 结果
     */
    public int insertArcDossier(ArcDossier arcDossier);

    /**
     * 修改卷宗管理
     * 
     * @param arcDossier 卷宗管理
     * @return 结果
     */
    public int updateArcDossier(ArcDossier arcDossier);

    /**
     * 批量删除卷宗管理
     * 
     * @param dossierIds 需要删除的卷宗管理主键集合
     * @return 结果
     */
    public int deleteArcDossierByDossierIds(Long[] dossierIds);

    /**
     * 删除卷宗管理信息
     * 
     * @param dossierId 卷宗管理主键
     * @return 结果
     */
    public int deleteArcDossierByDossierId(Long dossierId);

    /**
     * 导入卷宗数据
     *
     * @param dossierList 卷宗数据列表
     * @param isUpdateSupport 是否更新支持，如果已存在，则进行更新数据
     * @param operName 操作用户
     * @return 结果
     */
    public String importDossier(List<ArcDossier> dossierList, Boolean isUpdateSupport, String operName);

    /**
     * 校验案卷号称是否唯一
     *
     * @param arcDossier 案卷
     * @return 结果
     */
    public String checkDossierCodeUnique(ArcDossier arcDossier);
}
